#pragma once
#include "EventLoop.h"
#include "ThreadPool.h"
#include <arpa/inet.h>


class TcpServer { // 服务器
public:
	TcpServer(unsigned short port, int threadNum);
	~TcpServer();

	void setListen(); // 设置监听
	void run();		  // 启动TcpServer

	static int acceptConnection(void* arg); // 获取连接

	void saveRsaKey(); // 存储Rsa密钥对到Redis服务器
private:
	EventLoop* _mainEventLoop; // 主反应堆
	ThreadPool* _threadPool;   // 线程池
	ssize_t _threadNum;        // 线程池的线程数量
	int _listenFd;			   // 监听套接字的fd
	unsigned short _port;      // 服务器的端口号
};